package pdfsetter.core.schema.advanced;

import pdfsetter.core.schema.FillingSchema;

/**
 * FillingSchemaPattern represents pattern for {@link FillingSchema}, i.e. pattern which we can apply to arbitrary set of files and in result we receive
 * FillingSchema appropriate for this set of files. Expected number of files tell us how many files we have to use. Value less than zero means that we can use
 * any number of files but no less than absolute value of expected number of files. FillingSchemaPattern are meant to represent automatic patterns.
 * 
 * @author Andrzej Dorobisz
 */

public interface FillingSchemaPattern {
    FillingSchema produceFillingSchema(int[] fileSizes);

    int getExpectedNumberOfFiles();
}
